perm filename NTINRG[2,LCS] blob sn#153758 filedate 1975-04-04 generic text, type T, neo UTF8
00010	< NOTEY, INSY, REV, GLIFM
00100	<    *****  NOTEY  ***** 
00200	
00300	<READ THIS INTO SOUND GENERATING PROGRAM WHEN USING
00400	<NOTE LISTS PREPARED BY 'SCORE' PROGRAMS.
00500	
00600	EXTERNAL FUNCTION SYNTH(ARRAY A),SEE(ARRAY B),READIN(ARRAY C),
00700	SEG(ARRAY D), DUR(X,Y,Z); ARRAY F1(512);
00800	VARIABLE MAG, C,CS,D,DS,E,F,FS,G,GS,A,AS,B;
00900	C←261.62;  CS←277.18;  D←293.66;  DS←311.13;  E←329.63;
01000	F←349.23;  FS←369.99;  G←391.99;  GS←415.31;
01100	A←440;    AS←466.16;  B←493.89;
01200	
01300	
01400	<-- F1 ARRAY MUST BE FILLED FOR INST SIMP TO PLAY;
01500	SYNTH(F1);1 1 999
01600	SRATE←10000;MAG←512/SRATE;SPEED←3;NCHNS←1;
01700	
01800	COMPILE; INSTRUMENT SIMP;
01900	ZOSCIL(P4,MAG*P3,P5);OUTA←OUTA+U1;
02000	END; FINISH;
02100	
02200	PLAY;SIMP 0 .2 A 1200 F1;FINISH;PRINT(LSBUF);
02300	
02500	< FILE NAME='INSTS'
02600	<FOUR INSTRUMENTS FOR ELEMENTRY COMPUTER MUSIC
02700	<P10 IS STEREO CONTROL
02800	
02900	COMPILE;
03000	INSTRUMENT TOOT;
03100	OSCIL[10](P4,10*MAG/P2,P5);
03200	COSCIL(U1,P3*MAG,P6);<P6 IS TONE COLOR FOR 'TOOT'
03300	OUTA←OUTA+U2*P10;OUTB←OUTB-U2*(1-P10);END;
03400	
03500	INSTRUMENT CLAR;
03600	OSCIL[10](P4,10*MAG/P2,P5);
03700	COSCIL(U1,P3*MAG,P7);< P7 IS TONE COLOR FOR 'CLAR'
03800	OUTA←OUTA+U2*P10;OUTB←OUTB-U2*(1-P10);END;
03900	
04000	INSTRUMENT BRIT;
04100	OSCIL[10](P4,10*MAG/P2,P5);
04200	COSCIL(U1,P3*MAG,P8);< P8 IS TONE COLOR FOR 'BRIT'
04300	OUTA←OUTA+U2*P10;OUTB←OUTB-U2*(1-P10);END;
04400	
04500	INSTRUMENT BUZZ;
04600	OSCIL[10](P4,10*MAG/P2,P5);
04700	COSCIL(U1,P3*MAG,P9);< P9 IS TONE COLOR FOR 'BUZZ'
04800	OUTA←OUTA+U2*P10;OUTB←OUTB-U2*(1-P10);END;
04900	FINISH;
05000	
05100	ARRAY F2,F3,F4,F5,F6(512); < ARRAY 1 IS IN FILE 'NOTES'.
05200	SEG(F1);.9 6,1 11 .9 82	.7 90  0 100; < MEZZO LEGATO
05300	SEG(F2);1 3,1 11,.5 31,.3 51,0 100; < STACCATO
05400	SYNTH(F3);1,.8  2,.15 3,.05  999; < TOOT
05500	SYNTH(F4);1,.5  3,.3  5,.2  7,.1  999; < CLAR
05600	SYNTH(F5);1,.3  2,.4  3,.2  8,.2  12 .1  999; < BRIT
05700	SEG(F6);-1,1   1,7   -1,14   -1,100; < BUZZ
05800	
05900	
06000	PLAY;TOOT 0 .12 C 1000 F1 F3 F4 F5 F6 1;
06100	CLAR .12;BRIT .24;BUZZ .36;FINISH;PRINT(LSBUF);
06200	
06400	<  FILE NAME=REV
06500	ARRAY D1(801),D2(905),D3(1020),D4(1125),D5(128),D6(45),D7(23),D8(18); 
06600	VARIABLE /R;
06700	REVINIT←1;R←0;
06800	COMPILE;
06900	INSTRUMENT REV;
07000	REV1(R,801,.827,D1);
07100	REV1(R,901,.805,D2);
07200	REV1(R,1011,.783,D3);
07300	REV1(R,1123,.764,D4);
07400	REV2(U1+U2+U3+U4,123,.7,D5);
07500	REV2(U5,43,.7,D6);
07600	REV2(U6,13,.7,D7);
07700	R←0;OUTA←OUTA+U7;
07800	END;
07900	FINISH;
20000	< GLISSANDO INST.   FILE NAME=GLIFM
20100	COMPILE;
20200	INSTRUMENT GLISS;
20300	OSCIL[10](P4,10*MAG/P2,P5);
20400	OSCIL((P7-P3)*MAG,MAG/P2,P8);<P7=END OF GLISS, P8=SHAPE OF GLISS
20500	COSCIL(U1,U2+P3*MAG,P6);<P6 IS TONE COLOR FOR 'GLISS'
20600	OUTA←OUTA+U3;END;
20700	FINISH;
20800	
20900	ARRAY F2,F3,F6(512); < ARRAY 1 IS IN FILE 'NOTES'.
21000	SEG(F1);.9 6,1 11 .9 82	.7 90  0 100; < MEZZO LEGATO
21100	SEG(F2);1 3,1 11,.5 31,.3 51,0 100; < STACCATO
21200	SYNTH(F3);1,.8   2,.25   3,.1  999; < GLISS'S WAVE
21300	SEG(F6);0 0   1 100;<GLISS RAMP
21400	
21500	PLAY;GLISS 0 .3 C 255 F1 F3 B F6;FINISH;
21600	
21700	
21800	
21900	<****  FM INSTRUMENTS  ****
22000	ARRAY F9(512);  
22100	SYNTH(F9);  1 1 999;  < SINE WAVE
22200	
22300	COMPILE;  
22400	INSTRUMENT FM1;                       
22500	 OSCIL[10](P4,10*MAG/P2,P5);  
22600	INTRP(P6*P9*MAG,P7*P9*MAG,P8);<P6*P9=MOD. INDEX
22700	 OSCIL(U2,MAG*P9,F9);  <P9=MOD. FREQ.
22800	NOSCIL(U1,MAG*P3+U3,F9); <P3=CENT. FREQ.
22900	 OUTA←OUTA+U4;  END;
23000	FINISH;
23100	
23200	 PLAY;
23300	 FM1   0  .50 C 255 F1 0 5 F6 P3; FINISH;